import { reqGetSearchInfo } from "@/api"
// search模块小仓库
// state:仓库存储数据的地方
const state = {
  searchList: {}
}
// mutations:修改state的唯一手段
const mutations = {
  GETSEARCHLIST(state, searchList) {
    state.searchList = searchList
  }
}
// actions:处理actions，可以书写自己的业务逻辑，也可以处理异步
const actions = {
  // 获取search模块数据
  async getSearchList({commit}, params={}) {
    // params形参，是当前用户派发action的时候，第二个参数传递过来的，至少是一个空对象
    let resilt = await reqGetSearchInfo(params)
    if(resilt.code == 200) {
      commit('GETSEARCHLIST', resilt.data)
    }
  }
}
// getters:理解为计算属性，用于简化仓库数据，使组件获取仓库的数据更加方便
const getters = {
  // state形参指的是当前仓库的state
  goodsList(state) {
    // 网络正常可正常返回，假如网络异常会返回undefined 所以必须手动增加一个空数组返回
    return state.searchList.goodsList||[]
  },
  attrsList(state) {
    return state.searchList.attrsList||[]
  },
  trademarkList(state) {
    return state.searchList.trademarkList||[]
  }
}

export default {
  state,
  mutations,
  actions,
  getters
}